Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO


â– SASI type hard disk interface
Explanation    o The SASI type hard disk interface is an HDD I/F that has been
                 supported since the first generation PC-9801. The maximum capacity per drive
                 is 40MB (for NEC products), and up to two drives can be connected.
               o The interface board for connecting SASI type hard disks, the main unit with
                 the built-in hard disk, and the built-in additional hard disk are as follows.
                 - SASI type hard disk interface board
                   PC-9801-07 (for PC-9801 original, E, F, M only)
                   PC-9801-27
                 - Models with built-in SASI type hard disk
                   PC-9801F3, M3
                   PC-9801VM4, VX4, VX41, UX41, ES5, EX4
                   PC-9801LS5, LX4, LX5, LX5C, T/F5, T/F51, T/S5, T/W5
                   PC-9801RA5, RA51, RS51, RX4, RX51, CS5, DA5, DA/U5, DS5, DS/U5, DX5, DX/U5
                   PC-98XA model3, 31
                   PC-98XL model4
                   PC-98XL^2
                   PC-98RL model5, 51
                   PC-98GS model1, 2
                   PC-H98 model 60(U60)-040
                   PC-H98S model 8(U8)-040
                 - SASI type built-in additional hard disk
                   PC-9801CS-35
                   PC-9801DA-35
                   PC-9801ES-34
                   PC-9801RA-34
                   PC-9801RA-35
                   PC-9801T-35
                   PC-9801UX-31
                   PC-98DO/P-35
                   PC-H98/70-E01
                   PC-H98/70-E03
               o For desktop machines after the PC-9801FA and 98NOTE, SASI type hard disks
                 cannot be built into the main unit. This is because SCSI hard disks and IDE
                 hard disks have been adopted instead of SASI types. However, even for these
                 models, if an IDE hard disk is not built in, a SASI type hard disk can be
                 connected via the PC-9801-27.
               o Only SASI-type built-in additional hard disks can be installed in the
                 dedicated hard disk slots of the PC-9801RA2, RX2, and RX21.
               o SASI-type or SCSI-type built-in additional hard disks can be installed in
                 the dedicated hard disk slots of the PC-9801RA21, RS21, DA2, DS2, DX2, T,
                 PC-98RL, and PC-H98.
               o By connecting the PC-9801FA-03 (an additional 3.5-inch fixed disk drive
                 connection unit) to a desktop PC-9801FA or later, you can install an
                 additional built-in hard disk that can be used with the PC-9801RA21, etc.
               o When accessing a SASI-type hard disk with the DISK BIOS, DA/UA (values
                 used to specify the drive) should be set to 80h (first drive) or
                 81h (second drive). The same applies to IDE hard disks. This is because IDE
                 was intended to replace SASI.

                 For this reason, even though the two have different hardware interfaces, they
                 cannot be used at the same time.
               o PC-H98/70-E01/E03 (SASI-type internal expansion hard disk for PC-H98 only)
                 are classified as SASI-type hard disks, but use 82h (internal) and 83h
                 (external) for DA/UA. SASI-type hard disks can also be connected by installing
               a PC-9801-27 in a main unit with this type of disk built in. In this case, the
                 DA/UA of the HDD connected via the PC-9801-27 will be 80h and 81h, and the
                 DA/UA of the PC-H98/70-E01/E03 and the HDDs connected to them will be 82h and 83h.
               o PC-H98/70-E02 (ESDI-type internal expansion hard disk for PC-H98 only) uses
                 82h for DA/UA. SASI-type hard disks can also be connected by installing a
                 PC-9801-27 in a main unit with this type of disk built in. In this case, the
                 DA/UA of the HDD connected via the PC-9801-27 is 80h, 81h, and the DA/UA of
                 the PC-H98/70-E02 is 82h.

                 The resources used by the SASI type hard disk interface are as follows.
                 External interrupt: Fixed to INT3 (INT 11h)
                      * Can be changed for PC-H98/70-E01/E03
                 DMA: PC-9801-07/27 = Fixed to CH 0
                      PC-98XA built-in = Fixed to CH 3
                      PC-9801T/DA/DS/DX/CS, PC-98GS, PC-98RL (normal) built-in = CH0,1 selectable (*1)
                      PC-98RL built-in (high resolution) = CH0,2 selectable (*2)
                      Other built-in = Fixed to CH0 (*3)
                      *1: DIP SW 3-3=OFF for CH0, ON for CH1
                      *2: DIP SW 3-3=OFF for CH0, ON for CH2
                      *3: Can be changed for PC-H98/70-E01/E03
                 BIOS: D7000 to D7FFFh (normal mode)
                      * In high-resolution mode, the address is included in the main BIOS.
                      * For PC-H98/70-E01 and E03, you can select from 8KB between D0000 and DFFFFh.
               o The I/O addresses used by the SASI type hard disk interface are as follows.
                 ------------+-------+---+-------------------------------------------------
                 I/O Address | Width |R/W|Contents
                 ------------+-------+---+-------------------------------------------------
                 0080h       | BYTE  | R | Input Data Register
                 0080h       | BYTE  | W | Output Data Register
                 0082h       | BYTE  | R | Input Status Register
                 0082h       | BYTE  | W | Output Control Register
                 ------------+-------+---+-------------------------------------------------
Related          0000:0484h
                 0000:055Ch
                 0000:0585h
                 0000:0586h
                 0000:05E8h
                 0000:05ECh
                 D700:0000-D700:0FFFh
                 INT 11h (External interrupt)
                 INT 1Bh (SASI)
                 I/O 000Ah bit 1


I/O              0080h
Name             Input Data Register, Output Data Register
Function
                 [READ] Input Data Register
                 * Read data register

                 [WRITE] Output Data Register
                 * Write data register

Explanation    o Outputs commands to the SASI bus and transfers input and output data.
Related          I/O 0082h


I/O              0082h
Name             Input Status Register, Output Control Register
Function
                 [READ] Status register (when NRDSW=0)
                 bit 7: CT0 - SASI 1st HDD sector length (DIP SW 1-1 on SASI I/F board)
                   1 = OFF (512 byte sector)
                   0 = ON (256 byte sector)
                 bit 6: CT1 - SASI 2nd HDD sector length (DIP SW 1-2 on SASI I/F board)
                   1 = OFF (512 byte sector)
                   0 = ON (256 byte sector)
                 bit 5-3: DT02,01,00 - SASI 1st HDD capacity (DIP SW 1-3-5 on I/F board)
                   111b = Not connected
                   110b = 40MB
                   100b = 20MB
                   001b = 10MB
                   000b = 5MB
                 bit 2-0: DT12,11,10 - SASI 2nd HDD capacity (I/F board DIP SW 1-6-8)
                   111b = Not connected
                   110b = 40MB
                   100b = 20MB
                   001b = 10MB
                   000b = 5MB

                 [READ] Status register (when NRDSW=1)
                 bit 7: REQ (Request) - SASI bus signal status
                        Data transfer request from hard disk
                 bit 6: ACK (Acknowledge) - SASI bus signal status
                        Acknowledge to REQ signal (not present in built-in type)
                 bit 5: BSY (Busy) - SASI bus signal status
                   1 = Bus in use
                   0 = Bus not in use
                 bit 4: MSG (Message) - SASI bus signal status
                   1 = Message byte
                   0 = Non-message byte
                 bit 3: CXD (Command/Data#) - SASI bus signal state
                   1 = Command byte
                   0 = Data byte
                 bit 2: IXO (Input/Output#) - SASI bus signal state
                   1 = INPUT
                   0 = OUTPUT
                 bit 1: Undefined
                 bit 0: INT (Interrupt) - Interrupt output signal state

                 [WRITE] Control register
                 bit 7: CHEN (Channel Enable) - Data output to SASI bus
                   1 = Enable
                   0 = Disable
                   * Not present in built-in type.
                 bit 6: NRDSW (Read Switch) - Mode selection when reading the status register
                 bit 5: SEL (Select) - SASI bus SEL signal control
                   1 = ON
                   0 = OFF
                 bit 4: Undefined
                 bit 3: RST (Reset) - SASI bus reset
                   * When changed from 1 to 0, the SASI bus RST signal becomes active for 400ns
                 bit 2: Undefined
                 bit 1: DMAE (DMA Enable) - DMA use selection
                   1 = DMA mode
                   0 = Program I/O mode
                 bit 0: INTE (Interrupt Enable) - Interrupt request mask
                   1 = Enable
                   0 = Disable

Explanation    o Controls the SASI bus and obtains its status.
Related          I/O 0080h